1. Field of the Invention
The present invention relates to a multiprocessor system, and more particularly to a multi-graphics processor system, a graphics processor, and a data transfer method for computing rendering data.
2. Description of the Related Art
High-resolution graphics are widely utilized in personal computers and video game machines. There are, for example, various applications, such as games and simulations which use high-quality 3D-computer graphics, and play video content including a combination of live action and computer graphics.
The rendering quality relies on the performance of graphics chips which are provided in the personal computers or video game machines. Accordingly, graphics chip manufacturers focus on the development of next-generation graphics chips that have improved performance, and the competition between different graphics chips is becoming increasingly fierce. Such advanced graphics are implemented with a mix of hardware and software, rather than with hardware technology alone. It is important to make effective use of the high-performance rendering function of the graphics chip using software technology to increase the rendering quality.
In the fierce competition to develop graphics chips, graphics chips having advanced rendering functions are continually being developed to provide expandability and extendibility for prospective graphics systems. Furthermore, graphics chips need to have flexibility, including compatibility with legacy programming languages and support for various video output formats and protocols, while still ensuring the expandability of the graphics system.
A multi-graphics processor system equipped with multiple graphics chips, which is connected to a central processing unit (CPU), is sometimes used to provide flexibility and extendibility. The CPU in the multi-graphics processor system exchanges data with the multiple graphics chips, and it is therefore important to increase the efficiency of data communication between them in order to improve the processing performance of the system.
Many general-purpose processors allow out-of-order command execution. In other words, multiple commands that are independent from each other are not executed in the order of the given program codes but in a more efficient order. Conversely, some graphics processors are designed using in-order command architecture and have no support for out-of-order execution. If data are exchanged between a general-purpose processor and a graphics processor which are connected to each other via an I/O interface, the differences in command execution schemes must be accommodated without sacrificing data transfer efficiency.